package org.example.Entity;

/**
 * 产品实体类，包含产品的基本信息。
 */
public class Product {
    private String id; // 产品ID
    private String name; // 产品名称
    private double price; // 产品价格
    private int stockQuantity; // 产品库存数量

    /**
     * 构造方法，用于初始化产品对象。
     *
     * @param id            产品ID。
     * @param name          产品名称。
     * @param price         产品价格。
     * @param stockQuantity 产品库存数量。
     */
    public Product(String id, String name, double price, int stockQuantity) {
        this.id = id;
        this.name = name;
        this.price = price;
        this.stockQuantity = stockQuantity;
    }

    /**
     * 获取产品ID。
     *
     * @return 产品ID。
     */
    public String getId() {
        return id;
    }

    /**
     * 设置产品ID。
     *
     * @param id 要设置的产品ID。
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * 获取产品名称。
     *
     * @return 产品名称。
     */
    public String getName() {
        return name;
    }

    /**
     * 设置产品名称。
     *
     * @param name 要设置的产品名称。
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取产品价格。
     *
     * @return 产品价格。
     */
    public double getPrice() {
        return price;
    }

    /**
     * 设置产品价格。
     *
     * @param price 要设置的产品价格。
     */
    public void setPrice(double price) {
        this.price = price;
    }

    /**
     * 获取产品库存数量。
     *
     * @return 产品库存数量。
     */
    public int getStockQuantity() {
        return stockQuantity;
    }

    /**
     * 设置产品库存数量。
     *
     * @param stockQuantity 要设置的产品库存数量。
     */
    public void setStockQuantity(int stockQuantity) {
        this.stockQuantity = stockQuantity;
    }

    /**
     * 重写toString方法，用于将产品对象转换为字符串形式。
     *
     * @return 包含产品信息的字符串。
     */
    @Override
    public String toString() {
        return "Product{" +
                "id='" + id + '\'' +
                ", name='" + name + '\'' +
                ", price=" + price +
                ", stockQuantity=" + stockQuantity +
                '}';
    }
}
